package com.itheima.多态.多条的好处_04;

/*
    饲养员类
    职责: 喂各种小动物吃饭
    问题:饲养员喂各种小动物吃饭的方法要随着动物种类的变化而变化
    代码维护性与扩展性(拓展性,延展性)太差
    解决问题:利用多态语法将方法参数设置为父类型.调用方法就可以接受该类任意子类对象.
    好处: 大大提升了程序的扩展性(拓展性,延展性).
 */
public class AnimalOperator {
    //当方法的参数类型是一个父类型时,方法可以接受该父类任意子类对象
    public void useAnimal(Animal a) {
        //Animal a = new Monkey();
        a.eat();
    }

    //当方法的返回值类型是一个父类型时,方法里可以返回该父类任意子类对象
    public Animal getAnimal() {
        return new Pig();
    }
}

